1. Field of the Invention
The present invention relates to integrated circuit type microprocessors generally and more particularly to a thirty-two bit, cascadable, microprogrammable, bit-slice.
2. Description of the Prior Art
A bit-slice is a multi-device microprocessor in which the control portion (which is also referred to as an address controller, a microprogram sequencer, or a state machine) is contained on one device, and one or more identical arithmetic and logic unit (ALU) portions and register file portions are contained on separate (cascadable) devices called slices.
The state of the prior art has progressed from four-bit slices of the type which are commonly designated 74181 (a chip manufactured by Texas Instruments including only an arithmetic logic unit), to four-bit slices of the type which are commonly designated 2901 (a chip manufactured by Advanced Micro Devices including an arithmetic logic unit and register file), to sixteen-bit slices of the type which are commonly designated 29116 (a non-cascadable chip manufactured by Advanced Micro Devices).
A sixteen-bit slice typical of the state of the prior art is disclosed in the U.S. Pat. No. 4,467,444 which issued to Harmon, Jr. et al. Included is an arithmetic logic unit (which is designated 62 in the above mentioned patent), a two-port thirty-two word by sixteen-bit random access memory (RAM) unit (48), and a barrel shifter (64).
Although useful, the above mentioned slices are disadvantageous in that a relatively large number of devices are required to perform a number of operations. Additionally, the above mentioned slices are disadvantageous in that a relatively long period of time (a relatively large number of clocking signal cycles) are required to perform a number of operations. For example, for use with a data base having packed data, a need exists for a means of selecting a field in a word of data and of operating upon the field in one cycle. Further, for use with a frame buffer of a (video) graphics display, a need exists for a means of doing a bit-block move (bit block) in one cycle. In otherwords of extracting a group of bits representing pixels of a display region (not necessarily on modulo-thirty-two bit boundaries), normalizing it, rotating it into place, and merging it into a destination region of the display in one cycle.